// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
contract MyContract {
uint public myValue;
constructor() {
myValue = 10;
}
function setValue(uint _val) public {
myValue = _val;
}
function getValue() public view returns (uint) {
return myValue;
}
}
구성 요소 | 설명 |
---|---|
pragma | 사용 버전 지정 (^0.8.0 등) |
contract | 컨트랙트 정의 블록 |
constructor() | 최초 배포 시 한 번 실행되는 함수 |
function | 외부에서 호출 가능한 함수들 |
타입 | 설명 |
---|---|
uint ,int | 부호 없는 정수 / 정수 (기본 256bit) |
bool | true/false |
address | 지갑 주소 또는 컨트랙트 주소 |
string | 유니코드 문자열 |
bytes ,byte32 | 고정/가변 길이 바이트 배열 |
배열, 구조체, 매핑 | 복합 데이터 타입 (아래 설명 참고) |
키워드 | 설명 |
---|---|
public | 외부/내부 모두 접근 가능 |
private | 오직 정의된 컨트랙트 내부에서만 접근 가능 |
internal | 상속받은 컨트랙트에서도 접근 가능 |
external | 외부에서만 호출 가능 (내부 호출 불가) |
uint private secret;
function reveal() public view returns (uint) {
return secret;
}